Soru & Cevap

Android Studioda kod ile resources'a bitmap eklemek

16.09.2020 - 12:47

Arkadaşlar merhaba ben android stuidoda kameradan çekilen resmi bitmap formatına çevirip resourcesun altındakı drawable klasörüne kod ile eklemek istiyorum. bitmap formatına çevirip imageviewda gösterdim fakat uygulamayı açıp kapattığımda doğal olarak imageviewın içeriği sıfırlanıyor bu nedenle çekilen resmi resourcesun altında depolamak istiyorum nasıl yapabilirim? daha farklı bir öneriniz varsa o da olabilir. şimdiden teşekkürler.

24 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user gmyucalfarukeren
gmyucalfarukeren
19.02.2023 - 05:40

Merhaba Hasan Bey Android Studio'da, kameradan çekilen bir resmi Bitmap formatına dönüştürdükten sonra, bu resmi projenin drawable klasörüne kaydetmek için aşağıdaki adımları takip edebilirsiniz

  1. Öncelikle, projenin res klasörü altındaki drawable klasöründe, resminizi kaydetmek için yeni bir dosya oluşturun

  2. Oluşturduğunuz dosyanın adını ve uzantısını, kaydedeceğiniz Bitmap nesnesinin adını ve uzantısını kullanarak oluşturun

Örneğin, eğer Bitmap nesneniz "myBitmap" ise ve uzantısı ".png" ise, dosyanızın adı "myBitmap.png" olmalıdır

  1. Kaydedilecek dosyanın OutputStream nesnesini açın
OutputStream stream = new FileOutputStream(new File(getFilesDir(), "myBitmap.png"));

Burada, getFilesDir() yöntemi, uygulamanızın iç dosya dizinini döndürür. Ayrıca, FileOutputStream sınıfı, bir dosyaya OutputStream yazmayı sağlar

  1. Bitmap nesnenizi, oluşturduğunuz dosyaya yazın
myBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);

 

Burada, compress() yöntemi, Bitmap nesnesini sıkıştırıp belirtilen OutputStream nesnesine yazmayı sağlar. İlk parametre, sıkıştırma formatını belirtir (PNG gibi). İkinci parametre, sıkıştırma kalitesini belirtir (0-100 arasında). Üçüncü parametre, OutputStream nesnesidir

  1. Dosyayı kapatın
stream.close();

 

Bu adımları uyguladıktan sonra, Bitmap nesneniz drawable klasörüne kaydedilir ve uygulama her açıldığında erişilebilir olur

Ayrıca, kaydedilen Bitmap nesnesini yüklemek için, aşağıdaki kodu kullanabilirsiniz

 

Bitmap myBitmap = BitmapFactory.decodeFile(new File(getFilesDir(), "myBitmap.png").getAbsolutePath());